package cn.edu.scau.cmi.wujiaming.hibernate.client;

import java.io.IOException;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class ComprehensionClient extends Application {

	public static void main(String[] args) {
		Application.launch(args);
	}

	@Override
	public void start(Stage primaryStage) throws Exception {
		Parent root = FXMLLoader.load(getClass().getResource("hibernateDemo.fxml"));
//		JavaFX使用FXMLLoader加载fxml文件。其原理应该与Java.lang.ClassLoader类似，但有很大不同。
//		ClassLoader加载中间代码，在运行环境中生成类对象
//		而FXMLLoader一方面加载xml格式的文本文件，一方面还要加载由该fxml文件指定的Controller

//		1.getClass().getResource(fileName) ：表示只会在当前调用类所在的同一路径下查找该fileName文件；
//		2.getClass().getClassLoader().getResource(fileName)：表示只会在根目录下（/）查找该文件；
//		3.fileName如果是前面加“/”，如"/fileName"，则表示绝对路径，取/目录下的该文件；
//		4.如果是前面没有加“/”，如"fileName"，则表示相对路径，取与调用类同一路径下的该文件。
//		如果路径中包含包名 ，getClass().getResource("com/xxx/1.xml");
//		包名的层级使用"/"隔开（正斜杠），而非“.”（半角句号）。

		primaryStage.setScene(new Scene(root, 800, 400));
		primaryStage.setTitle("hibernateDemo");
		primaryStage.show();
	}

	public void openNewView_Hibernate() {
		Parent root;
		try {
			root = FXMLLoader.load(getClass().getResource("hibernateDemo.fxml"));
			Stage stage = new Stage();
			stage.setScene(new Scene(root, 800, 400));
			stage.setTitle("实验6-7-Hibernate");
			stage.show();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
